const loadControl = require('../../tools/loadAction.js');

/**
 * 微博列表加载动作
 * @param {import('playwright').Page} page - Playwright 页面对象
 * @param {import('../types/loader.js').ExtraData} extraData - 额外数据
 * @param {import('../types/loader.js').LoaderOptions} options - 配置选项
 * @returns {Promise<void>}
 */
async function loadAction(page, extraData, options) {
    loadControl.scrollAction( page, extraData.loadIndex || 0 , options.timeout );
}

/**
 * 判断加载结束了  
 * @param {import('playwright').Page} page - Playwright 页面对象
 * @param {Array<any>} notes - 已采集的笔记列表
 * @param {Array<any>} batchNotes - 当前批次采集的笔记列表
 * @param {import('../types/loader.js').ExtraData} extraData - 额外数据
 * @param {import('../types/loader.js').LoaderOptions} options - 配置选项
 * @returns {Promise<boolean>} 是否继续加载
 */
async function needNextLoad(page, notes , batchNotes , extraData, options){
    return loadControl.isScrollEnd(page , options);
}

/**
 * 检查微博链接是否已保存
 * @type {import('../types/loader').LoaderCheckFunction}
 */
async function urlFilter(urls) {
    console.log('检查微博链接:', urls);
    // 暂时返回全为 true 的数组
    return urls.map(() => true);
}

module.exports = {
    loadAction,
    urlFilter,
    needNextLoad,
};
